package study.java.thread08;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
* @Name: ThreadPoolDemo
* @Description: 线程池测试类
* 说明：
* 	线程池的好处：线程池中的线程执行完任务之后，并不会死亡，而是再次回到线程池中变为空闲状态，等待执行任务。
* 如何使用线程池？
* 	1、创建一个线程池对象
* 		//创建一个可重用固定线程数的线程池，以共享的无界队列方式来运行这些线程。
* 		static ExecutorService newFixedThreadPool(int nThreads)  
* 	2、调用线程实例
* 		//提交一个 Runnable任务用于执行，并返回一个表示该任务的 Future。
* 		Future<?> submit(Runnable task)  
* 		//提交一个返回值的任务用于执行，返回一个表示任务的未决结果的 Future<T>。
* 		<T> Future<T> submit(Callable<T> task)  
* 		//Future<T>接口说明：接口 Future<T>：表示线程执行方法(call()或run())异步计算的结果，参数T表示此 Future的 get方法所返回的结果类型
* @Author: 李超	lc_jack@foxmail.com
* @CreateDate: 2017-1-10 上午9:04:44 
* @Version: V1.0
 */
public class ThreadPoolDemo02 {
	
	public static void main(String[] args) { 
		//创建线程池对象，并指定线程池大小
		ExecutorService pool = Executors.newFixedThreadPool(2) ;
		//调用线程实例
		pool.submit(new MyCallable()) ;
		pool.submit(new MyCallable()) ;
		//关闭线程池
		pool.shutdown() ;
	}

}
